package controlLayer;
import java.util.ArrayList;
import modelLayer.Kunde;
import modelLayer.AdresseBog;

/**
 * Kontroller klasse for AdresseBogCTR.
 * 
 * @author Gruppe 2 
 * @version 1.0
 */
public class AdresseBogCTR
{

    private AdresseBog ab;

    /**
     * Konstruktøren for klassen AdresseBogCTR.
     */
    public AdresseBogCTR()
    {
        ab = AdresseBog.getInstance();
    }

    /**
     * Denne metode opretter et objekt af Kunde.
     * Derefter tilføjes objektet af Kunde i objektet af AdresseBog.
     * @param String cprNr
     * @param String navn
     * @param String adresse
     * @param int postNr
     * @param String by
     * @param String telefon
     */
    public void opretKunde(String cprNr, String navn, String adresse, int postNr, String by, String telefon)
    {
        Kunde k = new Kunde(cprNr, navn, adresse, postNr, by, telefon);
        ab.addKunde(k);
    }

    /**
     * Denne metode finder et objekt af Kunde i objektet af AdresseBog.
     * @param String cprNr
     * @return String cprNr
     */
    public Kunde findKunde(String cprNr)
    {
        return ab.findKunde(cprNr);
    }

    /**
     * Denne metode opdaterer et objekt af Kunde i objektet af AdresseBog.
     * @param String cprNr
     * @param String navn
     * @param String adresse
     * @param int postNr
     * @param String by
     * @param String telefon
     */
    public void opdaterKunde(String cprNr, String nyCprNr, String navn, String adresse, int postNr, String by, String telefon)
    {
        ab.opdaterKunde(cprNr, nyCprNr, navn, adresse, postNr, by, telefon);
    }

    /**
     * Denne metode Sletter et objekt af Kunde i objektet af AdresseBog.
     * @param String cprNr
     */
    public void sletKunde(String cprNr)
    {
        ab.sletKunde(cprNr);
    }

    /**
     * Denne metode printer alle objekter af Kunde objektet af AdresseBog.
     * @return ArrayList<String>
     */
    public ArrayList<String> printAdressebog()
    {
        return ab.printAdresseBog();
    }
}
